package com.wechat.pay.java.service.mchtransfer.enums;

import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;

public enum TransferSceneReportInfoTypeEnum {
    HDMC(TransferSceneEnum.XJYX, "活动名称"),
    JLSM(TransferSceneEnum.XJYX, "奖励说明"),
    PFYY(TransferSceneEnum.QYPF, "赔付原因"),
    GWLX(TransferSceneEnum.YJBC, "岗位类型"),
    BCSM(TransferSceneEnum.YJBC, "报酬说明"),
    CGSPMC(TransferSceneEnum.CGHK, "采购商品名称"),
    HSSPMC(TransferSceneEnum.ESHS, "回收商品名称"),
    GYHDMC(TransferSceneEnum.GYBZ, "公益活动名称"),
    GYHDBABH(TransferSceneEnum.GYBZ, "公益活动备案编号"),
    BTLX(TransferSceneEnum.XZBT, "补贴类型"),
    BXCPBABH(TransferSceneEnum.BXLP, "保险产品备案编号"),
    BXMC(TransferSceneEnum.BXLP, "保险名称"),
    BXCZDH(TransferSceneEnum.BXLP, "保险操作单号"),
    ;


    static {
        Map<String, TransferSceneEnum> map = Arrays.stream(TransferSceneEnum.values()).collect(Collectors.toMap(TransferSceneEnum::getTRANSFER_SCENE_ID, item -> item));
        for (TransferSceneReportInfoTypeEnum value : TransferSceneReportInfoTypeEnum.values()) {
            TransferSceneEnum sceneEnum = map.get(value.getTRANSFER_SCENE().getTRANSFER_SCENE_ID());
            sceneEnum.getINFO_TYPE().put(value, value.getINFO_TYPE());
        }
    }

    private TransferSceneEnum TRANSFER_SCENE;
    private String INFO_TYPE;

    TransferSceneReportInfoTypeEnum(TransferSceneEnum transferScene, String infoType){
        this.TRANSFER_SCENE = transferScene;
        this.INFO_TYPE = infoType;
    }

    public TransferSceneEnum getTRANSFER_SCENE() {
        return TRANSFER_SCENE;
    }

    public void setTRANSFER_SCENE(TransferSceneEnum TRANSFER_SCENE) {
        this.TRANSFER_SCENE = TRANSFER_SCENE;
    }

    public String getINFO_TYPE() {
        return INFO_TYPE;
    }

    public void setINFO_TYPE(String INFO_TYPE) {
        this.INFO_TYPE = INFO_TYPE;
    }
}
